﻿Imports EVOLTA.Promocion.Bl.Bc
Imports EVOLTA.Promocion.Bl.Be
Imports System.Data.SqlClient
Imports System.Data

Imports System.Reflection

Partial Class Reportes_Separaciones
    Inherits System.Web.UI.Page

    Private separaciones As List(Of EseparacionVenta) = Nothing
    Private separacionesDetalle As List(Of EseparacionVentaDetallePagos)

#Region "       Formulario                          "
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Response.CacheControl = "no-cache"
        Response.AddHeader("Pragma", "no-cache")
        Response.Expires = -1
        '***********************************************************'
        If Not IsPostBack Then
            cargarGestion()
            cargarProyecto()
        End If
    End Sub
    Private Sub cargarGestion()
        Dim Eestado As New Ecommons
        selEstado.DataSource = Eestado.tpoGestion
        selEstado.DataTextField = "descripcion"
        selEstado.DataValueField = "codigo"
        selEstado.DataBind()
        upEstado.Update()
    End Sub
    
    Private Sub cargarProyecto()
        selProyecto.DataSource = Rproyecto.SeleccionarTodo(Me.Master.descEmpresa, True)
        selProyecto.DataTextField = "descProyecto"
        selProyecto.DataValueField = "idProyecto"
        selProyecto.DataBind()
        upProyecto.Update()
    End Sub
    Protected Sub btnBuscar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnBuscar.Click
        If txtFchInicio.Text.Length > 0 AndAlso txtFchFin.Text.Length > 0 Then
            Dim venta As New EseparacionVenta
            With venta
                .idProyecto = Me.selProyecto.Value
                .fchInicio = txtFchInicio.Text
                .fchFin = txtFchFin.Text
                .tpoGestion = selEstado.Value
            End With
            'separaciones = RseparacionVenta.ReporteConsolidado(Me.Master.descEmpresa, venta)
            separaciones = RseparacionVenta.ReporteVentas(Me.Master.descEmpresa, venta)

            Session("separacionesLista") = separaciones
            'separacionesDetalles = RseparacionVentaDetalle.ReporteSeparacionDetalle(Me.Master.descEmpresa, False, venta)
            'Session("separacionesListaDetalle") = separacionesDetalles
            If Not separaciones Is Nothing Then
                egvSeparacionVenta.DataSource = separaciones
                egvSeparacionVenta.DataBind()
                upnSeparacionVenta.Update()
                lblCantidadTotalSeparación.Text = String.Format(": {0}", separaciones.Count.ToString)
                lblTotalPrecioVenta.Text = String.Format(": {0:###,###,##00.00}", (From sep As EseparacionVenta In separaciones _
                                                                                   Select sep.totalPrecioVenta).Sum())
            End If
        End If
    End Sub
    Protected Sub btnLimpiar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnLimpiar.Click
        txtFchInicio.Text = ""
        upFchInicio.Update()
        txtFchFin.Text = ""
        upFchFin.Update()
        egvSeparacionVenta.DataSource = Nothing
        upnSeparacionVenta.Update()
    End Sub
    Protected Sub btnExportar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnExportar.Click
        Dim separacionVenta As New EseparacionVenta
        With separacionVenta
            .idProyecto = Me.selProyecto.Value
            .fchInicio = txtFchInicio.Text
            .fchFin = txtFchFin.Text
            .tpoGestion = selEstado.Value
        End With

        Dim strNombreArchivo As String = "Consolidado de Ventas"
        Dim strTituloHoja As String = "Consolidado de Ventas"
        Dim strSubTituloHoja As String = "Consolidado de Ventas"

        Dim dtbInformacion As New DataTable

        dtbInformacion = RseparacionVenta.ReporteVentasExp(Me.Master.descEmpresa, separacionVenta)
        Session("separacionLista") = dtbInformacion

        For i As Integer = 0 To dtbInformacion.Rows.Count - 1
            dtbInformacion.Rows(i)("Item") = i + 1
        Next

        Dim objInfraestructura As New Infraestructura
        objInfraestructura.Exportar_a_excel(strNombreArchivo, strTituloHoja, strSubTituloHoja, dtbInformacion, Nothing)
    End Sub

#End Region

#Region "       Venta Detalle                       "
    Protected Sub egvSeparacionVenta_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles egvSeparacionVenta.PageIndexChanging
        separaciones = Session("separacionesLista")
        If Not separaciones Is Nothing Then
            egvSeparacionVenta.DataSource = separaciones
            egvSeparacionVenta.PageIndex = e.NewPageIndex
            egvSeparacionVenta.DataBind()
            upnSeparacionVenta.Update()
        End If
    End Sub
    'Protected Sub egvSeparacionVenta_RowCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) _
    '    Handles egvSeparacionVenta.RowCreated
    '    If e.Row.RowType = DataControlRowType.DataRow Then
    '        e.Row.Attributes.Add("OnMouseOver", "Resaltar_On(this);")
    '        e.Row.Attributes.Add("OnMouseOut", "Resaltar_Off(this);")

    '        Dim strUidSeparacion As String = DataBinder.Eval(e.Row.DataItem, "idSeparacionVenta").ToString()
    '        Dim egvDetalleSeparacion As GridView = CType(e.Row.FindControl("egvDetalleSeparacion"), GridView)
    '        AddHandler egvDetalleSeparacion.RowCreated, AddressOf egvDetalleSeparacion_RowCreated
    '        If strUidSeparacion.Length > 0 Then
    '            separacionesDetalles = Session("separacionesListaDetalle")
    '            Dim LVentaDetalles = From vd In separacionesDetalles _
    '                                    Where vd.idProyecto.ToString = Me.Master.idProyecto AndAlso _
    '                                          vd.idEtapa = Me.Master.idEtapa AndAlso _
    '                                          vd.idSeparacionVenta = CType(strUidSeparacion, Int32) _
    '                                    Select vd

    '            If separacionesDetalles.Count > 0 Then
    '                egvDetalleSeparacion.DataSource = LVentaDetalles
    '                Dim objFila As ExGridView.ExtGridViewRow = CType(e.Row, ExGridView.ExtGridViewRow)
    '                objFila.ShowExpand = True
    '            End If
    '        End If
    '    End If
    'End Sub
    'Protected Sub egvDetalleSeparacion_RowCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs)
    '    If e.Row.RowType = DataControlRowType.DataRow Then
    '        e.Row.Attributes.Add("OnMouseOver", "Resaltar_On(this);")
    '        e.Row.Attributes.Add("OnMouseOut", "Resaltar_Off(this);")
    '    End If
    'End Sub
#End Region

End Class